
/*********************************************************************************
* Copyright (c) zhujinyang.
* All rights reserved.
*
* \file
*
* Module initialization implementation
*
* 
*********************************************************************************/
#include "os_ext_api.h"
#include "module.h"




/*
********************************************************************************
* define config parameters
********************************************************************************
*/





/*
********************************************************************************
* define struct
********************************************************************************
*/









#if 0

extern unsigned int __bsp_init_start__[];
extern unsigned int __mal_init_start__[];
extern unsigned int __app_init_start__[];


/**********************************************************************************
* \brief:       hal driver init
* \param[in]:   none
* \return:      none
**********************************************************************************/
void module_init(void)
{
    unsigned int     ordor;
    MODULE_STRUCT_T *module;
    
    for (ordor = 0; ordor < MODULE_ORDOR_MAX; ordor++) {
        for (module = (MODULE_STRUCT_T *)__bsp_init_start__; module->init; module++) {
            if (module->ordor == ordor) {
                module->init();
            }
        }
    }

    for (ordor = 0; ordor < MODULE_ORDOR_MAX; ordor++) {
        for (module = (MODULE_STRUCT_T *)__mal_init_start__; module->init; module++) {
            if (module->ordor == ordor) {
                module->init();
            }
        }
    }
    
    for (ordor = 0; ordor < MODULE_ORDOR_MAX; ordor++) {
        for (module = (MODULE_STRUCT_T *)__app_init_start__; module->init; module++) {
            if (module->ordor == ordor) {
                module->init();
            }
        }
    }
}
#endif


